Handsets and other wireless devices contain software in the form of executable instructions and non-executable data stored in a memory. The software provides such devices with the ability to perform various functions, such as communicate via a wireless network, handle call features such as call waiting and call forwarding, and maintain a calendar and address book.
However, once a wireless device is provided to an end user, it becomes difficult to provide additional software or to make corrections to the software already installed on the device. To address this problem, firmware over the air (FOTA) was developed to enable a service provider to send software updates over a wireless network to a wireless device. Such updates may provide additional functionality to software already existing on the wireless device or may provide bug fixes to address problems with the existing software. However, while an update process such as FOTA presents a way to send software to a wireless device, using such an update process is not without problems. Accordingly, the provision of software over an air interface to a wireless device is challenging.